#-- coding=utf-8 ---*---
# __author__ = 'wenke1'

#获取一个文件对象，那得打开一个文件才行
#open(name[, mode[, buffering]])   中括号表示可选参数
fileObject1=open('testfile')
print "fileObject1 type is:%s,value is:%s" % (type(fileObject1),fileObject1)
print (type(fileObject1),fileObject1)
#fileObject1.close()   #养成好习惯，打开一个文件后，记得关闭,避免资源浪费

#第二种打开文件方式，也就指定了一下打开文件的方式（只读，可读写，二进制等）
fileObject2=open('testfile',mode='r')  #'r'模式文件必须存在，否则？自己试试
print "fileObject2 type is:",type(fileObject2),fileObject2
#fileObject2.close()

#文件对象可以赋值给其他对象（python中一切都是对象）
fileObject3=fileObject2
print "fileObject3 type is:",type(fileObject3),fileObject3
print id(fileObject2),id(fileObject1),id(fileObject3)

#文件对象的相关操作(方法/函数）
#输入操作read()\readline()\readlines() 将文件数据读出来给程序使用，就不用手工输入了
fileread = fileObject1.read()
filereadline =  fileObject3.readline()
for line in fileObject2:
    print line
print fileread,type(fileread)
print "fo3 is",filereadline

#输出操作write()\writelines(),将数据写入到文件中(内存数据到磁盘，调用close后系统才会将内存数据写入磁盘）
fileObject4=open('testfile1',mode='w') #文件不存在，会自动创建该文件
fileObject4.write("it is first line")
fileObject4.writelines("it is second line\nit is third line")

fileObject1.close()
fileObject2.close()
fileObject3.close()
fileObject4.close()
